package com.project.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.SellBean;

import java.time.LocalDate;

/**
 * 销售业务接口
 */
public interface ISellService {
    /**
     * 添加销售订单
     * 1.计算该用户销售车的订单总额，然后，添加至销售对象
     * 2.完成销售对象添加
     * 3.查询登陆对象用户对应的销售车信息
     * 4.根据销售车信息添加销售明细表，同时减少商品的库存数量
     * 5.采购订单添加成功后清空销售车
     *
     * @param userId   用户编号
     * @param sellBean 销售对象
     * @param sellBean 销售对象
     */
    public void add(Integer userId, SellBean sellBean);

    /**
     * 动态条件查询
     *
     * @param pageNo     页码
     * @param clientName 客户名称
     * @param startDate  起始日期
     * @param endDate    结束日期
     * @return 分页对象
     */
    public IPage<SellBean> findByItem(Integer pageNo, String clientName, LocalDate startDate, LocalDate endDate);

    /**
     * 按编号查询信息，同时查询客户名称，并且查询销售的明细，在销售明细中，需要查询销售商品的信息
     *
     * @param id 销售编号
     * @return 销售对象
     */
    public SellBean findById(Integer id);
}
